import * as api from "@/api/permission"
//引入需要校验的路由
import allRoutes from '@/router/generateRoute'
//把recursion函数递归创建用户路由的方法引入
import recursionRoutes from "@/router/recursionRoutes"
//引入路由
import router from "@/utils/routerGuard"
//引入动态路由
import dynamicRoutes from "@/router/dynamicRoutes"

let routes = allRoutes.find(route => route.name === "home")
export default {
    namespaced: true,
    state: {
        userMenu: [],
        //面包屑
        crumb: []
    },
    getters: {},
    mutations: {
        //设置用户菜单
        SET_USER_MENU(state, payload) {
            state.userMenu = [...payload]
            //动态添加路由,使用router.addRoue这个方法
            dynamicRoutes.children = [...dynamicRoutes.children, ...payload]
            router.addRoute(dynamicRoutes)
        },
        //设置面包屑
        SET_CRUMB(state, payload) {
            state.crumb = payload
        }
    },
    actions: {
        //获取远程菜单
        FETCH_MEMU_LIST({ commit }) {
            return api.getMenuListApi()
                .then(res => {
                    // console.log(res.data.menuList)
                    let userMenu = recursionRoutes(res.data.menuList, routes.children)
                    commit('SET_USER_MENU', userMenu)
                })
        }
    },
    modules: {},
}